package com.ruoyi.cs.mapper;

import java.util.List;
import java.util.Map;

import com.ruoyi.cs.domain.TRoll;
import com.ruoyi.cs.domain.vo.TRollBackVo;
import com.ruoyi.cs.domain.vo.TRollHomePageVo;
import com.ruoyi.cs.domain.vo.TRollVo;
import org.apache.ibatis.annotations.Param;

/**
 * ROLL房间信息Mapper接口
 * 
 * @author ruoyi
 * @date 2021-03-25
 */
public interface TRollMapper 
{
    /**
     * 查询ROLL房间信息
     * 
     * @param rollId ROLL房间信息ID
     * @return ROLL房间信息
     */
    public TRoll selectTRollById(String rollId);

    /**
     * 查询ROLL房间信息列表
     * 
     * @param tRoll ROLL房间信息
     * @return ROLL房间信息集合
     */
    public List<TRoll> selectTRollList(TRoll tRoll);

    /**
     * 新增ROLL房间信息
     * 
     * @param tRoll ROLL房间信息
     * @return 结果
     */
    public int insertTRoll(TRoll tRoll);

    /**
     * 修改ROLL房间信息
     * 
     * @param tRoll ROLL房间信息
     * @return 结果
     */
    public int updateTRoll(TRoll tRoll);

    /**
     * 修改ROLL房间信息(部分字段置空处理)
     * @param tRoll ROLL房间信息
     * @return
     */
    public int updateTRoll1(TRoll tRoll);

    /**
     * 删除ROLL房间信息
     * 
     * @param rollId ROLL房间信息ID
     * @return 结果
     */
    public int deleteTRollById(String rollId);

    /**
     * 批量删除ROLL房间信息
     * 
     * @param rollIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteTRollByIds(String[] rollIds);

    /**
     * 根据条件查询出TOLL房的列表信息
     *
     * @param rollIds
     * @return 结果
     */
    public List<TRoll> getTRollListBatch(@Param("delFlag") String delFlag, @Param("rollIds") List<String> rollIds);

    /**
     * 获取所有启用、并且已上线或已结束的ROLL房列表
     * @return
     */
    public List<TRollVo> selectTRollListAll(String rollName);
    public List<TRollVo> selectTRollListAll1();

    /**
     * 根据用户id获取启用、并且已上线或已结束的ROLL房列表
     * @return
     */
    public List<TRollVo> selectTRollListByUser(@Param("rollName") String rollName,@Param("userId") String userId);

    /**
     * 获取个人参与的ROLL房间列表
     * @param userId
     * @return
     */
    public List<TRollVo> selectTRollListPersonal(String userId);

    /**
     * 批量停用或启用
     * @param delFlag
     * @param rollIds
     * @return
     */
    public int updateTRollDelFlagByIds(@Param("delFlag") String delFlag,@Param("rollIds") String[] rollIds);

    /**
     * 修改ROLL房状态
     * @param tRoll
     * @return
     */
    public int updateRollStatusById(TRoll tRoll);

    /**
     * 根据ROLLID 批量获取ROLL房信息
     * @param rollIds
     * @return
     */
    public List<TRoll> batchQueryTRollList(@Param("rollIds") String[] rollIds);

    /**
     * 获取所有未开奖的ROLL房列表
     * @return
     */
    public List<TRoll> manchuOrAutoLotteryRollList();



    /**
     * ROLL房名称列表
     * @return
     */
    public List<Map> rollNameList();

    /**
     * 后台ROLL房管理列表
     * @param tRollBackVo
     * @return
     */
    public List<TRollBackVo> tRollListBack(TRollBackVo tRollBackVo);


    /**
     * 上线、结束功能
     * @param rollStatus
     * @param rollIds
     * @return
     */
    public  int updateTRollStatusByIds(@Param("rollStatus") String rollStatus,@Param("rollIds") String[] rollIds);

    /**
     * 首页roll房间
     *
     * @return
     */
    public List<TRollHomePageVo> selectHomePageDisplay();

    /**
     * 机器人roll列表
     *
     * @return
     */
    public List<TRoll> robotRollList();


}
